Add new field `rustc_args` to the `Profile`
authorSondre Lefsaker <sondrele@stud.ntnu.no>
Sat, 2 May 2015 10:59:58 +0000 (12:59 +0200)
committerSondre Lefsaker <sondrele@stud.ntnu.no>
Sat, 2 May 2015 14:29:28 +0000 (16:29 +0200)
- This field will be set by the `cargo rustc` command, only if one target is being compiled
- The field can not be read from the Cargo.toml

src/cargo/core/manifest.rs
src/cargo/ops/cargo_rustc/mod.rs
src/cargo/util/toml.rs

index e9b9e154a7f5c0e503830f81b28f6a269acda5ad..6c2c5edfc284e8afd864e893eab10e1c8fec6c9b 100644 (file)
@@ -116,6 +116,7 @@ pub struct Profile {
     pub opt_level: u32,
     pub lto: bool,
     pub codegen_units: Option<u32>,    // None = use rustc default
+    pub rustc_args: Option<Vec<String>>,
     pub debuginfo: bool,
     pub debug_assertions: bool,
     pub rpath: bool,
@@ -464,6 +465,7 @@ impl Default for Profile {
             opt_level: 0,
             lto: false,
             codegen_units: None,
+            rustc_args: None,
             debuginfo: false,
             debug_assertions: false,
             rpath: false,
index d80b750a15085f78e1a394bc3c91efe45f89666e..a4a5bb1fc0879f5f94e4db1c78c5d6db0fb3dc61 100644 (file)
@@ -621,9 +621,10 @@ fn build_base_args(cx: &Context,
                    profile: &Profile,
                    crate_types: &[&str]) {
     let Profile {
-        opt_level, lto, codegen_units, debuginfo, debug_assertions, rpath, test,
-        doc: _doc,
+        opt_level, lto, codegen_units, ref rustc_args, debuginfo, debug_assertions,
+        rpath, test, doc: _doc,
     } = *profile;
+    let _ = rustc_args;
 
     // Move to cwd so the root_path() passed below is actually correct
     cmd.cwd(cx.config.cwd());
index 3a50195ee653d10481e26ecb14dfb792841f36cb..35450030ebd04df48308bf52f2eccafeacc318d7 100644 (file)
@@ -814,6 +814,7 @@ fn build_profiles(profiles: &Option<TomlProfiles>) -> Profiles {
             opt_level: opt_level.unwrap_or(profile.opt_level),
             lto: lto.unwrap_or(profile.lto),
             codegen_units: codegen_units,
+            rustc_args: None,
             debuginfo: debug.unwrap_or(profile.debuginfo),
             debug_assertions: debug_assertions.unwrap_or(profile.debug_assertions),
             rpath: rpath.unwrap_or(profile.rpath),